---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.8.0
  creationTimestamp: null
  name: triggers.kubelatte.io
spec:
  group: kubelatte.io
  names:
    kind: Trigger
    listKind: TriggerList
    plural: triggers
    singular: trigger
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Trigger is the Schema for the Triggers API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            properties:
              creationConfigs:
                description: Foo is an example field of Trigger. Edit Template_types.go
                  to remove/update
                items:
                  properties:
                    action:
                      type: string
                    annotationNamespace:
                      type: string
                    annotationTrigger:
                      type: string
                    disableUniqueName:
                      type: string
                    labelSelector:
                      description: A label selector is a label query over a set of
                        resources. The result of matchLabels and matchExpressions
                        are ANDed. An empty label selector matches all objects. A
                        null label selector matches no objects.
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector
                            requirements. The requirements are ANDed.
                          items:
                            description: A label selector requirement is a selector
                              that contains values, a key, and an operator that relates
                              the key and values.
                            properties:
                              key:
                                description: key is the label key that the selector
                                  applies to.
                                type: string
                              operator:
                                description: operator represents a key's relationship
                                  to a set of values. Valid operators are In, NotIn,
                                  Exists and DoesNotExist.
                                type: string
                              values:
                                description: values is an array of string values.
                                  If the operator is In or NotIn, the values array
                                  must be non-empty. If the operator is Exists or
                                  DoesNotExist, the values array must be empty. This
                                  array is replaced during a strategic merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          description: matchLabels is a map of {key,value} pairs.
                            A single {key,value} in the matchLabels map is equivalent
                            to an element of matchExpressions, whose key field is
                            "key", the operator is "In", and the values array contains
                            only "value". The requirements are ANDed.
                          type: object
                      type: object
                    name:
                      type: string
                    templateRefs:
                      items:
                        type: string
                      type: array
                  required:
                  - name
                  - templateRefs
                  type: object
                type: array
              mutationConfigs:
                items:
                  properties:
                    annotationNamespace:
                      type: string
                    annotationTrigger:
                      type: string
                    annotations:
                      items:
                        type: string
                      type: array
                    containers:
                      items:
                        type: string
                      type: array
                    ignoreNamespaces:
                      items:
                        type: string
                      type: array
                    labelSelector:
                      description: A label selector is a label query over a set of
                        resources. The result of matchLabels and matchExpressions
                        are ANDed. An empty label selector matches all objects. A
                        null label selector matches no objects.
                      properties:
                        matchExpressions:
                          description: matchExpressions is a list of label selector
                            requirements. The requirements are ANDed.
                          items:
                            description: A label selector requirement is a selector
                              that contains values, a key, and an operator that relates
                              the key and values.
                            properties:
                              key:
                                description: key is the label key that the selector
                                  applies to.
                                type: string
                              operator:
                                description: operator represents a key's relationship
                                  to a set of values. Valid operators are In, NotIn,
                                  Exists and DoesNotExist.
                                type: string
                              values:
                                description: values is an array of string values.
                                  If the operator is In or NotIn, the values array
                                  must be non-empty. If the operator is Exists or
                                  DoesNotExist, the values array must be empty. This
                                  array is replaced during a strategic merge patch.
                                items:
                                  type: string
                                type: array
                            required:
                            - key
                            - operator
                            type: object
                          type: array
                        matchLabels:
                          additionalProperties:
                            type: string
                          description: matchLabels is a map of {key,value} pairs.
                            A single {key,value} in the matchLabels map is equivalent
                            to an element of matchExpressions, whose key field is
                            "key", the operator is "In", and the values array contains
                            only "value". The requirements are ANDed.
                          type: object
                      type: object
                    match:
                      properties:
                        annotationSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    enum:
                                    - In
                                    - NotIn
                                    - Exists
                                    - DoesNotExist
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                          required:
                          - matchExpressions
                          type: object
                        excludedNamespaces:
                          properties:
                            regex:
                              items:
                                type: string
                              type: array
                            values:
                              items:
                                type: string
                              type: array
                          type: object
                        kinds:
                          items:
                            properties:
                              apiGroups:
                                items:
                                  type: string
                                type: array
                              kinds:
                                items:
                                  type: string
                                type: array
                            type: object
                          type: array
                        labelSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    enum:
                                    - In
                                    - NotIn
                                    - Exists
                                    - DoesNotExist
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                          required:
                          - matchExpressions
                          type: object
                        matchConditions:
                          properties:
                            object:
                              items:
                                properties:
                                  condition:
                                    enum:
                                    - MustExist
                                    - MustNotExist
                                    type: string
                                  path:
                                    type: string
                                required:
                                - condition
                                - path
                                type: object
                              type: array
                            oldObject:
                              items:
                                properties:
                                  condition:
                                    enum:
                                    - MustExist
                                    - MustNotExist
                                    type: string
                                  path:
                                    type: string
                                required:
                                - condition
                                - path
                                type: object
                              type: array
                          type: object
                        name:
                          properties:
                            regex:
                              type: string
                            value:
                              type: string
                          type: object
                        namespaceSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    enum:
                                    - In
                                    - NotIn
                                    - Exists
                                    - DoesNotExist
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                          required:
                          - matchExpressions
                          type: object
                        namespaces:
                          properties:
                            regex:
                              items:
                                type: string
                              type: array
                            values:
                              items:
                                type: string
                              type: array
                          type: object
                        operations:
                          items:
                            type: string
                          type: array
                        scope:
                          enum:
                          - '*'
                          - Cluster
                          - Namespaced
                          type: string
                        userInfo:
                          properties:
                            username:
                              type: string
                            usernameRegex:
                              type: string
                          type: object
                      required:
                      - kinds
                      type: object
                    name:
                      type: string
                    objectSelector:
                      properties:
                        kind:
                          type: string
                        name:
                          type: string
                      required:
                      - kind
                      - name
                      type: object
                    templateRefs:
                      items:
                        type: string
                      type: array
                    updateStrategy:
                      default: merge
                      enum:
                      - merge
                      - replace
                      type: string
                    volumes:
                      items:
                        type: string
                      type: array
                  required:
                  - name
                  type: object
                type: array
              sideEffectConfigs:
                items:
                  properties:
                    match:
                      properties:
                        annotationSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    enum:
                                    - In
                                    - NotIn
                                    - Exists
                                    - DoesNotExist
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                          required:
                          - matchExpressions
                          type: object
                        excludedNamespaces:
                          properties:
                            regex:
                              items:
                                type: string
                              type: array
                            values:
                              items:
                                type: string
                              type: array
                          type: object
                        kinds:
                          items:
                            properties:
                              apiGroups:
                                items:
                                  type: string
                                type: array
                              kinds:
                                items:
                                  type: string
                                type: array
                            type: object
                          type: array
                        labelSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    enum:
                                    - In
                                    - NotIn
                                    - Exists
                                    - DoesNotExist
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                          required:
                          - matchExpressions
                          type: object
                        matchConditions:
                          properties:
                            object:
                              items:
                                properties:
                                  condition:
                                    enum:
                                    - MustExist
                                    - MustNotExist
                                    type: string
                                  path:
                                    type: string
                                required:
                                - condition
                                - path
                                type: object
                              type: array
                            oldObject:
                              items:
                                properties:
                                  condition:
                                    enum:
                                    - MustExist
                                    - MustNotExist
                                    type: string
                                  path:
                                    type: string
                                required:
                                - condition
                                - path
                                type: object
                              type: array
                          type: object
                        name:
                          properties:
                            regex:
                              type: string
                            value:
                              type: string
                          type: object
                        namespaceSelector:
                          properties:
                            matchExpressions:
                              items:
                                properties:
                                  key:
                                    type: string
                                  operator:
                                    enum:
                                    - In
                                    - NotIn
                                    - Exists
                                    - DoesNotExist
                                    type: string
                                  values:
                                    items:
                                      type: string
                                    type: array
                                required:
                                - key
                                - operator
                                type: object
                              type: array
                          required:
                          - matchExpressions
                          type: object
                        namespaces:
                          properties:
                            regex:
                              items:
                                type: string
                              type: array
                            values:
                              items:
                                type: string
                              type: array
                          type: object
                        operations:
                          items:
                            type: string
                          type: array
                        scope:
                          enum:
                          - '*'
                          - Cluster
                          - Namespaced
                          type: string
                        userInfo:
                          properties:
                            username:
                              type: string
                            usernameRegex:
                              type: string
                          type: object
                      required:
                      - kinds
                      type: object
                    name:
                      type: string
                    recreate:
                      default: false
                      type: boolean
                    templateRefs:
                      items:
                        type: string
                      type: array
                  required:
                  - match
                  - name
                  - templateRefs
                  type: object
                type: array
            type: object
          status:
            description: TriggerStatus defines the observed state of Trigger
            properties:
              conditions:
                items:
                  properties:
                    lastTransitionTime:
                      format: date-time
                      type: string
                    message:
                      type: string
                    status:
                      type: string
                    type:
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              phase:
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
